cmake_minimum_required(VERSION 3.10)
project(modern_cpp)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

if (MSVC_VERSION GREATER_EQUAL "1900")
    include(CheckCXXCompilerFlag)
    CHECK_CXX_COMPILER_FLAG("/std:c++latest" _cpp_latest_flag_supported)
    if (_cpp_latest_flag_supported)
        add_compile_options("/std:c++latest")
    endif()
endif()

# add_subdirectory(test_smart_ptr)
#add_subdirectory(test_perfect)
#add_subdirectory(test_sol2)
# add_subdirectory(test_sort)
# add_subdirectory(test_p2p)
#add_subdirectory(test_thread)
#add_subdirectory(test_atom)
# add_subdirectory(test_fmt)
#add_subdirectory(test_content)
#add_subdirectory(test_astar)
#add_subdirectory(test_format)
add_subdirectory(test_virtual_inherit)

